In computer and telecommunications networks, presence information conveys availability and willingness of a user (called a presentity) to communicate. A user's client provides presence information to a presence service to be stored and distributed to other users (called watchers) to convey its communication state. Presence information has wide application in many areas, including voice over IP (VoIP) and instant messaging (IM).
A user client may publish a presence state to indicate its current communication status. This published state informs others that wish to contact the user of their availability and willingness to communicate. The most common use of presence today is the status indicator displayed on most instant messaging clients. A simpler everyday example is the ‘on-hook’ or ‘off-hook’ state of a telephone receiver, resulting in a distinctive ring tone for a caller. Some states that offer extended information on the user's availability are “free for chat”, “away”, “do not disturb”, and “out to lunch”, which are often seen on many modern instant messaging clients. Rich information such as user mood and location may be also included. Presence is different from traditional ‘on-hook’ telephone status in that it deals with the user not the device (you want to talk to a person, not to a telephone).
Users have the potential to publish different presence states depending on who the communicator (or watcher) is. A worker may only want colleagues to see detailed presence information during office hours, for instance. Some users may want to only publish information to a select few. Basic versions of this idea are already common in instant messaging clients as a ‘Block’ facility, where users can appear as unavailable to selected watchers.
Software management system (SMS) is a systems management software for managing large groups of Windows™-based computer systems. SMS is an example of an online process, and supports capabilities such as remote control, patch management, software distribution, and hardware and software inventory. Some SMS applications can manage up to twenty five thousand Advanced Clients.
Presently online processes such as software inventory management and software management often disrupt users at inopportune times. Passive disruptions such as inventory management consume resources on targeted machines, slowing machines that may be actively in use by the end user. Even worse are active disruptions such as software management applications that decide that the user must install a new application immediately. Another example is the unfortunate user running a presentation when the software management application immediately asserts that critical software patches must be installed. Even if the user can dismiss the online software management process, the act of dismissing it disrupts the presentation and often temporarily disrupts the entire meeting.
Presently, most online processes blindly process their community of targeted users repeatedly until all members of that community have been successfully processed. The process simply attempts to access the next user (or all users) in the community. If the access attempt is successful the process performs its function; if the access attempt is not successful the user remains on the “to be processed” queue.
The biggest disadvantage of this approach is that it does nothing to take the targeted users actual working state into account. It is a blind process. If the process can contact the targeted user's machine, it does so. This results in intrusive interactions at poorly chosen moments of time.
Therefore, it is desirable to have a system that prioritizes the ordering of users targeted by online processes in order to minimize disruptive interactions with those users.